package com.yinhe.music.yhmusic.music.list;

import com.yinhe.music.yhmusic.base.IBaseView;
import com.yinhe.music.yhmusic.model.Music;

import java.util.List;

/**
 * MusicListFragment契约类
 *
 * @author 何晓华
 */
public interface IMusicListContract {
    interface BaseMusicListPresenter {
        /**
         * 其他歌曲列表 （由type决定）
         */
        void getMusicList(int page, int pageSize, int id, String type);

        /**
         * 搜索歌曲列表
         */
        void getSearchList(int page, int pageSize, String keyword);

        /**
         * 已购歌曲列表
         */
        void getBoughtList();

        /**
         * 新歌列表
         */
        void getNewList();

        /**
         * 获取本地音乐
         * @param menuId 歌单id
         */
        List<Music> initLocalSongList(int menuId);
    }

    interface IMusicListView extends IBaseView {

        /**
         * 更新歌曲列表UI
         */
        void setMusicListUI(Music musicList);

        /**
         * 更新歌单中歌曲列表UI
         */
        void setSongMenuMusicListUI(List<Music> menuMusicList);

        /**
         * 设置加载失败UI
         */
        void setLoadMoreFailUI();
    }

}
